LEADTOOLS Image Processing (Leadtools.ImageProcessing.SpecialEffects assembly)

FreeHandShearCommand Constructor(Int32[],Int32,RasterColor,FreeHandShearCommandFlags)

Show in webframe
Example 







Array of integers that represent shear wave values. The real values of the array elements is divided by 1000, and the valid value of each element in the amplitudes array is between -1000 and 1000. These values are generally obtained from the Leadtools.ImageProcessing.Effects.EffectsUtilities.GetCurvePoints(System.Int32[],Leadtools.LeadPoint[],Leadtools.ImageProcessing.Effects.CurvePointsType) utility method.
Factor used to increase or decrease the various amplitude values in the amplitudes array. Each value in the amplitudes array is multiplied by this factor. The real factor value is the scale value divided by 100. The valid range is from 0 to 100.
Specifies the fill color for any exposed areas.
Flags that indicate how to handle exposed areas, and the direction of the shear wave.
Initializes a new FreeHandShearCommand class object with explicit parameters.
Syntax
public FreeHandShearCommand( 
   int[] amplitudes,
   int scale,
   RasterColor fillColor,
   FreeHandShearCommandFlags flags
)
'Declaration
 
Public Function New( _
   ByVal amplitudes() As Integer, _
   ByVal scale As Integer, _
   ByVal fillColor As RasterColor, _
   ByVal flags As FreeHandShearCommandFlags _
)
'Usage
 
Dim amplitudes() As Integer
Dim scale As Integer
Dim fillColor As RasterColor
Dim flags As FreeHandShearCommandFlags
 
Dim instance As New FreeHandShearCommand(amplitudes, scale, fillColor, flags)
public FreeHandShearCommand( 
   int[] amplitudes,
   int scale,
   RasterColor fillColor,
   FreeHandShearCommandFlags flags
)

            

            
function FreeHandShearCommand( 
   amplitudes ,
   scale ,
   fillColor ,
   flags 
)
public:
FreeHandShearCommand( 
   array<int>^ amplitudes,
   int scale,
   RasterColor fillColor,
   FreeHandShearCommandFlags flags
)

Parameters

amplitudes
Array of integers that represent shear wave values. The real values of the array elements is divided by 1000, and the valid value of each element in the amplitudes array is between -1000 and 1000. These values are generally obtained from the Leadtools.ImageProcessing.Effects.EffectsUtilities.GetCurvePoints(System.Int32[],Leadtools.LeadPoint[],Leadtools.ImageProcessing.Effects.CurvePointsType) utility method.
scale
Factor used to increase or decrease the various amplitude values in the amplitudes array. Each value in the amplitudes array is multiplied by this factor. The real factor value is the scale value divided by 100. The valid range is from 0 to 100.
fillColor
Specifies the fill color for any exposed areas.
flags
Flags that indicate how to handle exposed areas, and the direction of the shear wave.
Example
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.SpecialEffects
Imports Leadtools.ImageProcessing.Effects

Public Sub FreeHandShearConstructorExample()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True

   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"))

   ' Prepare the command
   Dim userPoint() As LeadPoint
   ReDim userPoint(3)
   ' Fill apUserPoint array with points that define a triangular wave
   userPoint(0).X = 0
   userPoint(0).Y = 0
   userPoint(1).X = 3
   userPoint(1).Y = 10
   userPoint(2).X = 9
   userPoint(2).Y = -10
   userPoint(3).X = 12
   userPoint(3).Y = 0

   Dim amplitudes() As Integer
   ReDim amplitudes(12)
   ' Draw a triangular wave according to UserPoint points and store the Amplitudes values in the Amplitudes array.
   EffectsUtilities.GetCurvePoints(amplitudes, userPoint, CurvePointsType.Linear)

   ' Normalize Amplitudes array (maximum value in Amplitudes is 1000 and lower is -1000).
   Dim maximum As Integer
   Dim i As Integer
   maximum = 0
   For i = 0 To 12
      If (maximum < amplitudes(i)) Then
         maximum = amplitudes(i)
      End If
   Next

   If (maximum <> 0) Then
      For i = 0 To 12
         amplitudes(i) = (1000 * amplitudes(i) \ Math.Abs(maximum))
      Next
   End If

   Dim command As FreeHandShearCommand
   command = New FreeHandShearCommand(amplitudes, 100, New RasterColor(0, 0, 0), FreeHandShearCommandFlags.Horizontal Or FreeHandShearCommandFlags.Repeat)
   ' Apply the shear wave horizontally.
   command.Run(leadImage)
   codecs.Save(leadImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24)

End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.SpecialEffects;
using Leadtools.ImageProcessing.Effects;

public void FreeHandShearConstructorExample()
{
   // Load an image
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;

   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));

   // Prepare the command
   LeadPoint[] userPoint = new LeadPoint[4];
   // Fill apUserPoint array with points that define a triangular wave
   userPoint[0].X = 0;
   userPoint[0].Y = 0;
   userPoint[1].X = 3;
   userPoint[1].Y = 10;
   userPoint[2].X = 9;
   userPoint[2].Y = -10;
   userPoint[3].X = 12;
   userPoint[3].Y = 0;

   int[] amplitudes = new int[13];
   // Draw a triangular wave according to UserPoint points and store the Amplitudes values in the Amplitudes array.
   EffectsUtilities.GetCurvePoints(amplitudes, userPoint, CurvePointsType.Linear);
   // Normalize Amplitudes array (maximum value in Amplitudes is 1000 and lower is -1000).
   int maximum, i;
   for(maximum = 0, i = 0; i < 13; i++)
   {
      if(maximum < amplitudes [i])
         maximum = amplitudes [i];
   }
   if(maximum != 0)
   {
      for(i = 0; i < 13; i++)
      {
         amplitudes [i] = (1000 * amplitudes [i] / Math.Abs(maximum));
      }
   }

   FreeHandShearCommand command = new FreeHandShearCommand(amplitudes, 100, new RasterColor(0, 0, 0), FreeHandShearCommandFlags.Horizontal | FreeHandShearCommandFlags.Repeat);
   // Apply the shear wave horizontally.
   command.Run(image);
   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24);

}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Requirements

Target Platforms

See Also

Reference

FreeHandShearCommand Class
FreeHandShearCommand Members
Overload List

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.